package com.base.component.ai.workflow.node;

import java.util.List;

import com.base.component.ai.workflow.core.NodeTypeEnum;
import com.base.component.ai.workflow.flow.Flow;
import com.base.core.head.enums.ValueTypeEnum;
import com.gitee.magic.core.valid.annotation.Enum;
import com.gitee.magic.core.valid.annotation.Length;
import com.gitee.magic.core.valid.annotation.NotEmpty;
import com.gitee.magic.core.valid.annotation.NotNull;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter@Setter@ToString
public class NodeLLM extends Node {
	
	public NodeLLM() {
		super(NodeTypeEnum.LLM);
	}

	@Schema(description="数据类型")
	@NotNull
	@Enum
	private ValueTypeEnum valueType;

	@Schema(description="模型Code")
	@NotNull
	@Length
	private String code;

	@Schema(description="输出变量名")
	@NotNull
	@Length
	private String variableName;

	@Schema(description="默认值以数据类型为准")
	@NotNull
	@NotEmpty
	private String exceptionDefaultValue;
	
	@Schema(description="异常流程")
	@NotNull
	private List<Flow> exceptionFlows;
	
}
